package com.tarena.service;

import java.util.List;

import com.tarena.entity.Booking;
import com.tarena.entity.Meettingaddress;
import com.tarena.entity.Meettingroom;

/**
 * liubiao
 */

public interface BookingService {
	//dao中的方法
	boolean save(Booking booking);
	boolean delete(Integer id);
	void update(Booking booking);
	List<Booking> findById(Integer id);
	List<Booking> findByUserId(Integer id);
	List<Booking>  findAllBooking();
	Integer  getSum();
	
	/**
	 * 以下是新加的方法
	 */
	
	// 分页相关的
	List<Booking> findByPage(int offset, int limit, Booking booking) throws Exception;
	List<Booking> findByPage(int offset, int limit) throws Exception;
    // 核心代码区
	//通过一个地点，查询在本地点的所有的会议室，
	public List<Meettingroom> getMeetingroomByMeettingaddress(Meettingaddress meettingaddress); 
	//通过一个会议室，查询在在预定表中的被预定记录，	
	public List<Booking> getBookingByMeettingroom(Meettingroom meettingroom);
	//通过一个地点，查询在预定表被预定的所有的会议室，和所有会议室被预定的相关信息。
	public List<Booking> getBookingByMeettingaddress(Meettingaddress meettingaddress); 
	//通个预定表的一条记录的预定时间段与输入的一个时间段  比较两个时间段
	public boolean compartwotime(Booking booking,String startime, String endtime); 
	//自动预约会议室,输入地点,输入开始/结束时间,显示一个会议室
	public Meettingroom giveMeettingroom(Meettingaddress meettingaddress,String startime, String endtime); 
	//手动预约会议室,输入地点,输入开始/结束时间,显示所有可以预定的会议室
	public List<Meettingroom> giveMeettingroomAll(Meettingaddress meettingaddress,String startime, String endtime);
}
